package com.wang.tx.core;

/**
 * tcc 事务必看：
 * 1、try、confirm、cancel必须保证自身的事务性
 * 2、try、confirm、cancel函数要保证幂等性。
 * 3、confirm、cancel要保证一定能成功
 */
public abstract class TccTransaction {

    // 每个子事务都应该生成一个唯一id。
    public abstract long id();

    public abstract boolean onTry() throws Exception;

    public abstract void onConfirm() throws Exception;

    public abstract void onCancel() throws Exception;
}
